﻿package br.gov.bcb.leilao.web.converter;

import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.Locale;

import org.apache.wicket.util.convert.converters.BigDecimalConverter;

public class ValorDecimalFormatConverter extends BigDecimalConverter {

    public ValorDecimalFormatConverter(Locale locale, boolean permitirValorNegativo, int numeroCasasInteiro,
            int numeroCasasDecimais) {
        DecimalFormat decimalFormat = (DecimalFormat) DecimalFormat.getCurrencyInstance(locale);
        decimalFormat.setPositivePrefix("");
        decimalFormat.setNegativePrefix(permitirValorNegativo ? "-" : " ");
        decimalFormat.setMaximumIntegerDigits(numeroCasasInteiro);
        decimalFormat.setMinimumFractionDigits(numeroCasasDecimais);
        decimalFormat.setRoundingMode(RoundingMode.DOWN);

        this.setNumberFormat(locale, decimalFormat);
    }
}
